前一篇學習了函式庫的撰寫與串接方式,我們已經可以靠前面所學的東西做一些簡單的應用了,不過其實 Solidity 還有一些特殊的變數可以使用,讓我們一探究竟吧!
特殊變數只存在於以太坊的執行環境中,是以太坊提供的內建函式庫與保留字,不用特別宣告就可以使用該變數提供的功能。
這個大家都不陌生吧!前面其實有出現過,用來做合約權限的時候有使用到,提供的方法有:
address
,如果在 constructor
時使用 msg.sender
,就意味著該帳戶位址就是合約發起人,所以可以利用這點來設置權限管理bytes
bytes4
wei
,型別為 uint
uint
address
uint
address
now
來取得,型別為 uint
uint
uint
uint
blockhash
,只能使用在最近的256個區塊,回傳型別為 bytes32
bytes32
bytes32
bytes20
uint
uint
wei
,型別為 uint256
wei
,會花費 2300 Gas,回傳型別為 bool
,若為 false
表示失敗,需要另外寫判斷式做處理wei
,會花費 2300 Gas,發生錯誤時會 throw
this
差不多,在 Solidity 中的 this
是指合約本身super
中的函式時,表示呼叫被繼承之合約的該函式今天介紹了 Solidity 中的特殊變數與一些函式,大多數都是其他程式語言所沒有的,畢竟什麼區塊、交易之類的東西是區塊鏈獨有的XD,總而言之,這些特殊變數與函式其實蠻常使用到的,務必要熟悉!